This application was developed to aid prospective Build-to-order (BTO) housing flat owners. Currently, there are many factors that one considers when buying a BTO - some factors include the presence of nearby facilities (transport: MRTs, education: schools, medical: clinics and entertainment: malls), the true value of the house in the event of selling, the historical prices of other flats in that area as well as comparison to condominiums and resale flats to evaluate other options. Thus, the “BTO Analysis Buddy” was created as an all-in-one solution, conveniently guiding the user step-by-step to arrive at a solution that fully meets their needs.
Currently, buyers have to utilise google and visit various websites to gather their own information. Examples of some websites include: Seedly’s BTO guide , MoneySmart’s BTO guide , “How I Bought My HDB Resale Flat” by TheSmartLocal and many more. However, it is time consuming and tedious to visit each page, and with every page presenting different information in a different way, it is challenging to put together and synthesize the various information. One would find it difficult to shortlist a suitable BTO, and even after shortlisting, one still has to search up each address into Google Maps to view the nearby amenities. This process can take weeks and there is much potential for it to be more efficient.
Currently, there is also no website or app that integrates BTO with HDB Resale or Condominiums, making it difficult for potential buyers to compare them. Although there are websites that list HDB Resale flats like PropertyGuru and SRX, they lack the convenience that our app provides, such as easy comparison and filtering by multiple criteria.
The “BTO Analysis Buddy” Application has 4 tabs, each with different added functionality. Even though users can use each tab independently, for explanation purposes, the most common user journey is described as such:
Home Page: Users can filter for housing type to view BTO, HDB resale or condominiums, as well as filter for nearby amenities. The map tiles will also show the estimated pricing range. After filtering, one can click on the marker to view details and add the listing to a comparison table.
Comparison: Next, this tab allows one to easily compare between shortlisted flats. One can see some key features (i.e. number of rooms, size) as well as the predicted prices.
Analysis: The Analysis tab gives one more information about the various factors that affect price based on a linear regression model. Thus, this can be an important factor in users’ decision-making process.
Amenities: After deciding or shortlisting flats, this tab shows an in-depth view of the exact amenities near the flat that one has selected.
All .rmd & htmlcodes for this section can be viewed under the file folder “01 Data Cleaning of Amenities & BTO”
The MRT data was taken from Data.Gov.Sg and also Kaggle. These files were then merged to get the address, station name, station and coordinates of the MRT stations.
…
As there are no datasets of primary and secondary schools readily available on the internet, we used the function “geocode” from the “ggmap” package to scrape for the geo coordinates of primary and secondary schools in Singapore. However as some of the latitude and longitude data scraped from Google maps is wrong, we had to do some data cleaning and changed those data manually.
The malls data was scrapped from the malls website to get all the shopping malls in Singapore listed in that website. Using geocode, we then get the malls latitude and longitude based on the addresses.
…
The raw data of the names and location of the nature parks are gotten from data.gov.sg , as a kml file. Then, we converted the kml file into a dataframe and extracted the necessary data. Some data cleaning was done as the original data had unclean formats when converted into a dataframe.
As there are many CHAS clinics around Singapore and since these clinics can be easily accessed, it is highly likely that most Singaporeans would visit these clinics when they fall sick. The CHAS clinics kml was taken from data.gov.sg and we scraped data from the kml file. There was no data cleaning done for this file as all information was already presented accurately.
The BTO data was obtained from HDB website.
Codes for this section can be found under “02 Webscraping & Data transformation”
The HDB resale data was scraped from SRX website using the codes listed in CrawlSRX.Rmd file. As part of the codes, the longitude and latitude data was obtained by passing the postal code to an API in OneMap.sg.
The condominium resale data was scraped from SRX website using the codes listed in CrawlSRX.Rmd file. As part of the codes, the longitude and latitude data was obtained by passing the postal code to an API in OneMap.sg.
For the files containing BTO, resale HDB flats and resale condominiums data, we added an additional column containing the minimum distance between the respective housing in all files and 5 different amenities (MRT stations, Parks, Malls, Schools and Clinics). This is done by creating a double for loop which loops through every housing in each file and also each amenity. We then append these minimum distances to the respective files containing the different housing types.
Codes for this section can be found under “03 Data Analysis - Prediction Model”.
From the cleaned resale data, categorical variables are split into different columns through one-hot encoding. Data such as closest distance from different amenities (malls, mrt, parks, clinic and schools) are added as these might increase the accuracy of the prediction model. Age of the house was computed from the year in which the HDB was built. Number of bus stops around the house were also added. Please refer to “A. Prediction_cleaning” for the full cleaning codes.
…
…
…
#### Data Analysis for Prediction Model
After cleaning the data for prediction (from previous section), a linear regression model is made. Variables with less than 5% significance level are removed (apart from number of bus_stops as the team feels that this factor can be engineered to include distance from these bus stops in the future, which may increase its prediction). The model has an adjusted r-square of 81.97% which means that the model is fairly accurate in predicting the actual value.
Fig.6: Linear Regression Model
For the 5 years predicted value of HDB flats, the predicted value today is being adjusted by discounting at a rate based on its age 5 years later. The team used the bala table (a valuation table to get the percentage of freehold value: https://www.99.co/blog/singapore/wp-content/uploads/2020/04/GCDjTNq.png) to get the estimated discount rate, and add that to the expected inflation rate at 1.459% (https://www.ceicdata.com/en/indicator/singapore/forecast-consumer-price-index-growth) to obtain the 5 years predicted value.
Our homepage shows an interactive map that allows users to filter according to the type of apartments they want (e.g. BTO Flats, HDB Resale Flats or Condominium). For BTOs, we will show all the flats that were released by HDB in 2020. For SRX and Condominium, the map will show all available units listed for sale on SRX. There are 4 main features on the home page.
i. Filtering: Users would decide which BTOs to buy based on the nearby amenities available. Different buyers have different requirements as well. Some would like flats near MRT stations while couples with cars may not be too concerned about the distance of their flat from the MRT station. These couples would prioritise other facilities such as shopping centres or parks. We hence created an additional filter that allows users to select the facilities they want, as well as the maximum distance they are willing to accept. The map will then update to show only units that are within the selected distance for those facilities chosen.
For example, suppose a user is not interested in MRT stations, and would like to search for HDB resale flats that are within 1km of malls, parks, clinics and schools. The intended result is shown below.
Fig.1: HDB Resale Flats That Are Within 1km of Malls, Parks, Clinics, and Schools
ii. View Flat Details: We have created a ‘Select Address’ button for each pop-up which will allow users to click on the button within the marker to see more information. We used the “button onclick” feature within shiny to create this.
At the start, only one unit per marker can be seen. Multiple units on the same location will overlap and the details cannot be selected. However, we know that multiple units in the same block can be put on sale. For example, a BTO can consist of 3-Room, 4-Room and 5-Room flats in one block. To overcome this problem, we modified the code such that multiple flats in a block/condo which shares the same longitude and latitude will only show up as one marker. This will show all the units in the block that are being sold, grouped by characteristics such as number of bedrooms and bathrooms as well as asking price. The grouping will prevent listing of multiple rows of units with the same exact characteristics, which can clutter the screen. To provide further convenience to the users, the display table can be shifted around, and will turn semi-transparent when the mouse is outside the table due to opacity codes. With these added features, users are provided with the flexibility to customise the display to their own liking.
Fig.2: “Select Address” Button and Display Table
iii. Comparing Flats: The amount of data may be overwhelming and users may want to narrow down to a few selected units for more in-depth analysis. We hence created a ‘add to comparison’ button in each pop-up, which will allow users to add interested units to a comparison table, in the next tab, for further analysis. Integrating our application tabs allows for a seamless experience.
iv. Price Ranges: To further value-add to the users, we also showed average price ranges of HDB resale flats between towns through the use of a colour gradient heatmap. In this way, users would immediately know which are the more expensive and which are the cheaper towns, and can narrow down their searches to specific areas based on their budget. This feature can be enabled or disabled with the checkbox on the top right corner, depending on the user’s preference to provide more customisation. Users can also select different map types with the checkbox. From the image below, we can see that HDB resale flats in the north (i.e. Sembawang, Yishun) tend to be a lot cheaper than HDB resale flats in the south (i.e. Bukit Merah, Queenstown).
Fig.3: Price Range of Resale Flats
Finally, our app aims to provide as much customisation as possible, and besides the features already mentioned above (such as the ability to move the comparison and amenities filter tables, and the ability to disable the price range gradient), users are also able to select different types of map to suit their own preferences.
Since HDB buyers are all couples who are most likely first time buyers, we created an additional “Amenities” tab to help them to have a clearer picture of the type of amenities that are near the HDB that they are planning to bid for. The amenities that HDB buyers can filter for are MRT stations, parks, schools, clinics and malls. Users can also click on “Filter for all amenities on map” to view all amenities.
All these are especially relevant for HDB buyers who are married or soon to be married couples as they are likely to stay at this location as they expand their family. Hence this page serves to help them have a clearer picture of HDB flats which have the specific amenities that they are looking for nearby.